<?php

class Admin extends TPage {

//<editor-fold defaultstate="collapsed" desc="Eventos Controles">
  public function  onLoad($param) {
    parent::onLoad($param);
    //agrega atributo al boton
    $this->btnIngresar->Attributes->Add("onclick", "return(validarFormulario())");

    //escribe donde se esta ejecutando el sitio
    $ambienteEjecucion = Utilidades::obtenerAmbienteEjecucion();
    if (strpos($ambienteEjecucion, strtoupper(Utilidades::AMBIENTE_EJECUCION_PRODUCCION)) === false){
      $this->lblAmbienteEjecucion->Text = ".:: SITIO ".$ambienteEjecucion."&nbsp;(".strtoupper(Utilidades::pais()).") ::.";
    }
}

  public function btnIngresarClick($sender, $param) {
    try {
      $oUsuario = new Usuario();
      $oUsuario->setUsername($this->txtUsername->Text);
      $oUsuario->setPassword(md5($this->txtPassword->Text));

      //verifica si el usuario existe
      $idUsuario = $oUsuario->login();

      //si el usuario existe entonces redirecciona a la pagina de inicio
      if ($idUsuario != -1) {
        //$oUsuario = new Usuario($idUsuario);
        $oUsuario->obtenerPorId($idUsuario);
        //graba objetos en session
        Utilidades::inicializarSesion($oUsuario);
        //obtiene valores de la session
        $session = new THttpSession;
        $paginaInicio = $session[Pagina::SESION_PAGINA_INICIO];

        //obtiene la matriz de permisos asociadas al usuario y lo guarda en sesion
        $arrPermisos = Usuario::obtenerMatrizPermisos($oUsuario->getId(), $oUsuario->getEsSuper());
        $session[Usuario::SESION_MATRIZ_PERMISO] = $arrPermisos;

        //escribe en el log
        Sistema::escribirLog("Usuario logueado: ".$oUsuario->getNombreCompleto()." / username: ".$oUsuario->getUsername()." / perfil: ".$oUsuario->getPerfilNombre(), Utilidades::obtenerAmbienteEjecucion(), KLogger::INFO);

        //redirecciona a la pagina de inicio definida por defecto
        $this->Response->redirect($this->Service->constructUrl($paginaInicio));
      } else {
        $this->pnlMensajeError->Visible = true;
        $this->lblMensaje->Text = "Entrada no v&aacute;lida";
      }
    } catch (Exception $e) {
      throw new Exception($e->getMessage());
    }
  }
  
//</editor-fold>

}

?>